MASSACHUSETTS INSTITUTE OF TECHNOLOGY
ARTIFICIAL INTELLIGENCE LABORATORY
A.I. Memo 478 October 1977
DYNAMICS OF A THREE DEGREE OF FREEDOM KINEMATIC CHAIN
Berthold K. P. Horn
Kenichi Hirokawa
Vijay V. Vazirani*
ABSTRACT. In order to be able to design a control system for highspeed
control of mechanical manipulators, it is necessary to understand properly
their dynamics. Here we present an analysis of a detailed model of a three
link device which may be viewed as either a "leg" in a locomotory system, or
the first three degrees of freedom of an "arm" providing for its gross motions.
The equations of motion are shown to be nontrivial, yet manageable.
This report describes research done at the Artificial Intelligence Laboratory'
of the Massachusetts Institute of Technology. Support for the laboratory's
artificial intelligence research is provided in part by the Office of Naval"".
Research under Office of Naval Research contract N00O1477C0389.
*Suoported by the M.I.T. Undergraduate Research Proqram.
INTRODUCTION.
In this paper, we analyze the relationship between actuator torques and
joint angular accelerations for a device with three rotational degrees of free
dom, such as a "leg" on a locomotory system or the first three joints of a
manipulator or "arm". The kind of analysis we present here leads to a clear
understanding of the effects of varying inertia, jointinteractions and cori
olis forces and forms the basis for simulations of such systems and, most im
portantly, design of control systems. It is likely that high speed control
of articulated kinematic chains is not possible without this kind of detailed
understanding; conversely, we show that the computations required of such a
control system are manageable.
Initially, we restrict our attention to arrangements with no offsets be
tween links, as shown in figure 1. Later, we consider a more realistic case,
the MITScheinman electric arm, which has offsets, as do many practical devices.
Further, we model links as thin rods and, finally, consider more complicated
mass distributions at the end of the paper.
We use rather primitive techniques in order to avoid possible complications
due to the potential difficulty of visualizing angular rotation vectors and
components of inertia matrices. The same results, however, could be obtained
using such advanced notions, with little savings in effort and considerable
loss of insight.
(8*^"%
./**"%.
2
NOTATIONAL CONVENTIONS.
The links, modelled as thin rods (see figures 2 and 3), are numbered
starting with the base. The base, link 0, is rigidly attached to a fixed
Cartesian coordinate system with the zaxis pointing up through the column,
link 1. Joints are number systematically, with joint i connecting link (i  1)
to link i. Thus the "hip" or "shoulder" is joint 2, with the "knee" or
"elbow" being joint 3.
The lengths of the links will be ^ , i^ and u, with masses m, , nu and
m 3 . The jointangles will be called e ] , e 2 and e 3 and the angular velocities
represented as hy § 2 , and 8 3 . At times it is convenient to use vector nota
tion with
e = (q v e 2 , e 3 )
e = (By e 2 , e 3 )
Clearly, e together with e specify the state of the device completely.
^*^*H
3
PLAN OF ACTION.
We treat each link in turn: first, we calculate the velocity of each point
in the link as a function of the jointangle rate; second, we calculate the
total kinetic energy in each link; third, we calculate the torques required
to support the motion of that link; and, finally, we add up the torques
required to move all links to obtain the total torque that must be applied by
each actuator. We calculate gravity components of torque at the very end.
A
,#**"\
/"*s
REVIEW OF BASIC MECHANICS .
It is convenient to calculate the total kinetic energy of each link by
dividing it into infinitesimal parts and integrating along the length of each
link. The kinetic energy of a particle of mass m moving with velocity v is,
of course, (l/2)mv 2 . Thus we can obtain the total kinetic energy of a link
from
*'■& f l v 2 (s) ds
*
where s is distance along the link and v(s) is the velocity at a point located
a distance s from one end. Here we have assumed that all the mass is concen
trated along a line and is distributed uniformly from one end to the other
with linear density m/z. More complicated models require more difficult analy
sis and are warranted only if measurements can be made of the actual massdis
tribution in particular limbs.
We find that, in general, v(s) is of the form
v 2 (s) = a + bs + cs 2
Then clearly
K  £ [a, + b £ + c £]
0*^,
t~\
CALCULATION OF ACTUATOR TORQUES.
The easiest technique is based on the EulerLagrange formula.
i dt l 99,. " 38.
where e. is the angular velocity
*iw»i
and T i is the torque required at joint i to support the motion. K is the
kinetic energy. This may look complicated, but, in fact, is very convenient.
In general, if the potential energy term is added in, this calculation leads
to n equations for a device with n degrees of freedom.
T i = V~ e) + .i Iij(§) e'j + I X C...(9) e. e.
Here T. , the actuator torque required at joint i, is made up of three components.
The first is the gravitational term obtained from the potential energy P,
r  3P
1 88.
The second term is a sum of products of inertias and angular accelerations
S*\
e., where
J
6
f~\
d 2
6 j = dt* e j
This term is thus composed of the inertia! forces needed to accelerate the
links along the desired trajectory.
The third term is a double sum of velocity product terms and constitutes
the torque required to balance Coriolis forces; these include the centrifugal
forces. Note that all three kinds of coefficients G., I., and C, are
functions of the configuration, 9, only, where
e = (ej , e 2 , e 3 ... e )
/^ That is, they do not depend on joint angle velocities (or accelerations). In
fact, we find that these terms are polynomials in link lengths and sines and
cosines of the jointangles.
It is convenient to think of the total kinetic energy of the device as a
sum of the kinetic energies of the individual links,
n
K = £ K.
j = ! 3
and to calculate the total torque required of a particular actuator as a sum of
components, each obtained by applying the EulerLagrange equation to a component
of the kinetic energy,
n
^ Ti " j = 1 Ti J
^"*\
/"*>
^*%
7
where T\, is the actuator torque required at joint i to support the motion
of link j.
d 3K i 3K i
1J dt v 30.' 36.
8
,^ m \
/~\
/""S
THE UPRIGHT COLUMN.
If we model this link as a thin rod, it will have no inertia and not im
pede accelerations about its axis at all. It is more realistic to model it as
a cylinder of uniform mass distribution. If it has height H, radius R and
mass m, , it has inertia
2
m,R
To introduce the techniques used later for the other links, we calculate this
from first principles. The volume of the cylinder is
V = ttR 2 H
Consequently, its mass density is m 1 /( 1T R 2 H).
Now consider a cylindrical shell of thickness d g at distance s from the
axis as in figure 4. It has mass
dmm^ds
Particles in this shell move with velocity s^ when the column rotates at angular
rate e,. The kinetic energy of the cylindrical shell is then
1 m
j (dm) [se^ 2 = ^s 3 e 2 ds
Integrating over the whole cylinder we find the total kinetic energy is
9
The term l } = mR 2 /2 is the inertia of the upright column, link 1, about its
axis of rotation.
/"\
/"*»>
,#•"%
/"""\
10
ACTUATOR TORQUES REQUIRED TO SUPPORT MOTION OF LINK 1.
We are now ready to apply the EulerLagrange equations to find the required
actuator torques.
T = 1 (1) I
11 dt l 3S^ 36 ]
where
so
T n = dT<W
or
T n = h °i
This rather obvious conclusion shows that we need only an inertia! torque to
support this motion. No other joints are affected.
(#**%
n
THE SECOND LINK.
Link 2 is 'modelled as a thin rod of mass m„ and length i ? (see figures 5
and 6). To compress long expressions we adopt a convention for trigonometric
terms:
c. = cos(e.) s. = sin^.)
and
Cj. = cos(e i + 9j) Slj . = cos(e i + e^)
f\ The infinitesimal particle i of length ds has mass
m ?
dm = — ds
First we determine the velocity of this particle; it can be found by differenti
ating its position with respect to time. Let r = (x,y,z) be the particle's posi
tion in reference to the rectangular coordinate system introduced earlier. If
i, j, k are unit vectors in the directions x, y, z respectively, then,
r = s [(c,s 2 ) i + ( Sl s 2 ) j + (c 2 )k]
Taking the derivative we get the velocity
y = s [(s 1 e ] s 2 + c^gGg) i + (c^Sg + s^^) j + (s 2 e 2 )k]
f*\
,f~\
,*#"*>%
•12
To calculate the kinetic energy we need only the square of the absolute value
of the velocity,
V 2 = y • v = S^tSjB^ + Cl C 2 6 2 ) 2 + (Cj^Sg + S lC2 8 2 )2 + (s^) 2 ]
v 2 = s 2 [s 2 e 2 + e 2 ]
Finally, the kinetic energy is
hfi l* ft + e] f Z * 2 ds
c
That is,
K 2 = 1 m 2 l 2 ^ s 2^f + ^
13
ACTUATOR TORQUES REQUIRED TO SUPPORT MOTION OF LINK 2:
First, we find the required derivatives:
^~ = ° 3nd 9^ = 3 Vl [s 2 c 2°l ]
SK 2 , 8K ? ,
ae 1 J d l l ' se 2 3 2 2 2
j 8Kp I
dt^ = 3V2 [2s 2 C 2Vl + S 2 V 1 ]
/~\ al 36 2 J ^ l <L
Finally, using the EulerLagrange equation,
3 K 3K
Tl2= Ht ( ^ ' ^'3 m 2 £ 2 [s 2 V l + ZSgC^^g]
T 22 = 3t { ilf } " aef = I m 2 £ 2 [ " 6 2 " S 2 C 2 § ? ]
/*"\
14
ANALYSIS OF TORQUE COMPONENTS.
The two components of Tj 2 represent inertia! and coriolis factors. First,
note that (l/3)m 2 J>s2 is the inertia of link 2 about the vertical axis. Multi
plying this by the angular acceleration of joint 1 gives us the torque re
quired to produce that angular acceleration. The second term, containing a
product of angular velocities is a coriolis force factor which vanishes when
^ = 0, e 2 = or e 2 is an integer multiple of 90° since
2s 2 c 2 = sin(2e 2 )
This torque term has to do with the change in kinetic energy when the inertia
about the vertical axis is changed  it is the term which speeds up a spinning
ice skater when (s)he pulls in his(her) arms and slows him(her) down as the
arms are stretched out. It shows one of many interactions between motions for
which it is hard to get an intuitive grasp.
The components of T 22 are even easier to understand. The first term is just
the inertia! force needed to accelerate link 2, since the inertia of link 2
about joint 2 is simply (l/3)m 2 £2. The last term is a centrifugal force term,
which again is zero when 9 2 is an integer multiple of 90°. It represents the
tendency for the second link to become horizontal as a result of rotation about
the vertical axis.
^*%.
•15
,i» p ""\
/""%
THE THIRD AND LAST LINK.
Link 3 is modelled as a thin rod of mass m 3 and length £, (see figures 7
and 8). The location r of the infinitesimal particle of length ds and mass dm
is found first, where
/0^fy,
m~
dm = j^ ds
l 3
We find that,
r = c,U 2 s 2 + s s 23 )i + s,(£ 2 s 2 +ss 23 )j + (£ 2 c 2 + s c 23 ) k
Differentiation with respect to tine,
v = [s [ e I (£ 2 s 2 + s s 23 ) + c 1 (£ ? c 2 e 2 + s c 23 (e 2 + e 3 ))] i +
C^ejC^Sg + s s 23 ) + s 1 (£ 2 c 2 e 2 + s c 23 (e 2 + e 3 ))]j +
[£ 2 s 2 e 2  s s 23 (e 2 + e 3 )]k
Then,
v 2 = v • v =
e 2 U 2 s 2 + ss 23 ) 2 + U 2 c 2 e 2 + s c 23 (e 2 + ej) 2 +
[« 2 s 2 e 2  s s 23 (e 2 + e 3 )] 2
(#"*H
jf^n,
16
V 2 = (AS + 2£ 2 S 2 S 23 S + S 2 23 S2) 6f + £ 2 9 2 + 2^^ + $3)5 +
5 2 + 3 )
(e 9 + L) 2 s 2
Since c 2 c 23 + s 2 s 23 = cos(e 2  (e 2 + e 3 )) = c 3<
So,
That is.
K 3 ■ i/ 3 " 2 5 *
becomes
± rC02o2 4. n o r _■_ 3
K 3  2  [(*s + * 2 * 3 S 2 S 23 + ^ s 2 3 )ef + £ 2 e + v 3 c 3° 2 <°2 + e 3 ) +
£ 2
r t» 2 + ° 3 > 2 3
m 3 ^ 2
K 3 = r C(A S S S + W2 S 23 + r s 23^f +
U 2 , + « 2 £ 3 c 3 + — )e +
2i 2
{ V3 C 3 + r) % +
(£) e 2 ]
This finally is the kinetic energy link 3!
17
PARTIAL DERIVATIVES NEEDED.
3K

30,
3K„ m, 2ji 2
^ = 2" C2A 2 S 2 C 2 + V 3 ( C 2 S 23 + S 2 C 23> + ~T S 23 C 23> °?
3K 3 m 3 2 ^
3ej = r [(V3 S 2 C 23 + "3~ S 23 C 23 )S 1 + <V3 s 3 )6 2 + ^V^ ^°3 ]
3K 3 _ m 3
J^= T [2(£s2 + V3 s 2 s 23 + T s 23^l3
3K 3 m 3 ^q 2a
3?T = 2~ [2( *2 + £ 2 £ 3 C 3 + / )e 2 + ( V3 C 3 + ^ ^
9K 3 m 2 *3 2*
^ = _3 [(£ 2 . 3 c 3 + ~) e 2 + gi e 3
18
3K, m
dt W = 2~ [2( *2 S 2 + V3 S 2 S 23 + F" S 23 } ' e l +
2*§
2(2^s 2 c 2 e 2 + v 3 (c 2 e 2 s 23 + s 2 c 23 (e 2 + e 3 )) + / s 23 c 23 (e 2 + 93))^]
d ,™3
3lC m,
£2 ..
• 2£2 .
dt ( ^ = 2" [2(£ 2 + V 3 C 3 + lT )e 2 + ( V 3 C 3 + "T> 9 3 +
2(«, 2 5. 3 s 3 e 3 )e 2 + (a 2 a 3 s 3 e 3 )e 3 3
d , 3K 3,_ m 3
2* 2 £2
dt ( 3§f = r [U 2 £ 3 C 3 + r )V 2 + "T V 3 + (  A 2 £ 3 S 3 § 3 )§ 2 ]
19
ACTUATOR TORQUES REQUIRED TO SUPPORT MOTION OF LINK 3.
i = _ (JL) 3
13 dt ^S^ 30 1
m 3 % \ 2
T 13 = T [2(is2 + ^ 3 S 2 S 23 + 3 S 23 } ' e 'l +
2£ 3
2(2£2s 2 c 2 + ^ 3 (c 2 s 23 + s 2 c 23 ) + — s 23 c 23 ) e^g +
2l \ > •
2(£ 2 ^ 3 s 2 c 23 + ~y s 23 c 23 ) 636^
T _ d , 9i % SK 3
T 23 dt 1 ^ " W^
T 23= T C2(# 2 + V 3 C 3 + T ] ' 9# 2 + <V 3 C 3 + 1^ ' e *3 "
2l \
(2 V2 c 2 + V 3 (c 2 S 23 + S 2 C 23 } + ~T s 23 c 23 } H "
2£ 2 ^ 3 s 3 e 2 e 3  a 2 ^ 3 s 3 92]
T  d_r 3K 3^ 3K 3
'33 AVW^' " 36 3
t 33 = t [(v 3 c 3 + r> 8 2 + r' 6 '3
2£ 3
U 2 £ 3 S 2 C 23 + y S 23 C 23 ) ^ 2 +
,,#*% i£ 2 £ 3 S 3 ) 2 J
20
GRAVITATIONAL TORQUE COMPONENTS IN SIMPLE CASE.
If gravity acts along the zaxis and has magnitude g, then the potential
energy of the device can be found easily from the vertical positions of the
centers of mass of the two links.
£ 2 l 1
Z 2 = 2~ C 2 and z 3 = ^2 C 2 + T~ C 23^
So the total potential energy is
P = g[m 2 2 i c 2 + m 3 U 2 c 2 +^023}]
f\ So the torque components are simply
3P _ „r m £ 2 _ ^ m . „ , *3
T 2g = " ie7 = g[m 2 r S 2 + m 3 U 2 S 2 + T S 23^
and
V "% = 9 [m 3 / S 23 ]
These components may simply be added to the components already found for inertial
and coriolis torques.
^*\
21
GRAVITY COMPENSATION IN GENERAL CASE.
The position of the center of mass of link 2 is
X» r\
~2 = T t(c l s 2^ + ( s l s 2 )j + (c 2 )k]
If 9 = (9]'9 2 '9 3 ) is the vector of gravitational acceleration, then the po
tential energy is
P 2 = ^2 ' 9>2 = " m 2 T [c l S 2 9 l + s l s 2 g 2 + c 2 9 3 ]
Similarly, the position of the center of mass of link 3 is
T 3 = C T^2 S 2 + T S 23 ) l + S 1^2 S 2 + T S 23^ + U 2 C 2 + £ C 23 )k
p 3 =  ( r 3 • g> 3 =
a 3 H £ T
m 3 [c 1 (A 2 s 2 + j s 23 ) gi + %^{i 2 % 2 + f s 23 )g 2 + U 2 c 2 + f c 23 )g 3 ]
The total potential energy is the sum of P ? and P. The gravity compensati
2 """ '3
ion
torques can be found from P by differentiation.
/e""*"\
22
3P
ig
 Sl (m 2 r s 2 m 3 (£ 2 s 2 + 2 i s 23 ))g 1 +
C 1 (m 2 / S 2 + m 3 ( V2 + 2 is 23 )) 9 2
V ~% = ^(nig gic 2 + m 3 U 2 c 2 + ^c^)^ +
S l (m 2 2~ C 2 + m 3^2 c 2 + ^ c 23 ) )g 2 +
(m 9 o s ?  m>(& 9 s„ + y 1 s„))g,
"2 2 °2 '"a^Z 2 5 23" y 3
/"""'x
V ' % = m 3 Cc l { r C 23 )g l + S l { r C 23 )g 2 " r S 23 g 3 ]
/""%
iO
23
MASS CONCENTRATION AT THE END OF LINK 2.
Let there be an additional mass M 2 attached at the end of link 2. Its velocity
squared is
V2 = £ [ S 2 g2 + Q]
So
So the torque components would come to
T 2 = VP'^ " S 2 C 2°1 ]
f*\
24
MASS CONCENTRATION AT THE END OF LINK 3  LOAD CARRIED.
Let there be an additional mass M, attached at the end of link 3. Its
velocity squared is
v2 = U 2 s 2 + £ 3 s 23 )2e2 + A §2 + 2^ 3 c 3 2 (e 2 + e 3 ) + £2(e 2 + e 3 )2
So,
K 3 = \ M 3 [(£ 2 S 2 + £ 3 S 23 ) 2 e2 + (q + 2£ 2 £ 3 C 3 + Jt) §2 +
2ji 3 (j> 2 c 3 + «. 3 )e 2 e 3 + ^02]
3K'
Tef =0
3K'
367 = M 3 [(£ 2 S 2 + £ 3 S 23 )(£ 2 C 2 + *3 C 23 ) § 1 ]
3K 3
aeT e M 3 C{ *2 S 2 + £ 3 S 23 )£ 3 C 23 °1 " £ 2 £ 3 S 3 5 2 " £ 2 £ 3 S 3 S 2°3 ]
3K 3
y = M 3 [(«, 2 S 2 + j^Sgg) 2 ^]
3K 3
3^ = ¥^ + 2£ 2 £ 3 C 3 + £ 3 } l 2 + £ 3 (£ 2 C 3 + £ 3 } ' 9 3 ]
25
^^W
9K 3
F = ¥ £ 3 ( V 3 + £ 3 J ^2 + *!°3 ]
se 3
d , dK 3
dt ( ^ = M 3 [(£ 2 S 2 + V23 )2 ^'l + 2 ^2 S 2 + £ 3 S 23 )(£ 2 C 2 5 2 + *3 C 23 (5 2 + l 2 )] ' % ^
d , 3K 3
dt^ = M 3 ^ £ 2 + 2 V3 C 3 + £ 3 } * 6 '2 + V*2 C 3 + % Z ] "3
2i 2 i 3 s 3 S 2 5 3 " V 3 S 3°3 ]
d , 8K 3
dt ( ^ = M 3 [£ 3 U 2 C 3 + H ] 'h + £ 3 § 3 " hh^Z^
Tj = M 3 [(i 2 s 2 + A 3 s 23 )2e 1 +2(£ 2 s 2 + A 3 s 23 )(i 2 c 2 + ^c^Je^g +
2*3 C 23 (£ 2 S 2 + £ 3 S 23> ^1 ]
T 2 = M 3 [ ^2 + 2£ 2 £ 3 C 3 + *>' e ' 2 + £ 3 (£ 2 C 3 + V ° 3 "
(£ 2 s 2 + * 3 s 23 )U z c 2 + ^3)82  Zi z i 3 s 3 e z B 3  4 2 A 3 s 3 e2]
T 3 = M 3 U 3 U 2 c 3 + , 3 )e 2 + A g 3 _ V23 U 2 s 2 + V23 )ef + * 2 * 3 s 3 e2]
These expressions can be used to calculate additional torques required to support
the movements of a load carried by the third link.
/•*%.,
26
GRAVITY COMPENSATION FOR THE MASS CONCENTRATIONS AT THE ENDS OF LINK 2 AND
LINK 3.
The' position of the mass concentration at the end of link 2 is
~2 = 2^ C 1 S 2^ + ( s l s 2^ + c 2~^
and its potential energy is
P 2 = "^2 * ?) M 2 =  M 2 £ 2 tc l S 2 g l + s l S 2 g 2 + c 2 9 3 ]
Similarly, the position of the mass concentration at the end of link 3 is
R 3  Cl (£ 2 s 2 + £ 3 s 23 )i + Sl ( &2 s 2 + £ 3 s 23 )j + (i z c z + £ 3 c 23 )k
f~\ and its potential energy is
P 3 = (R 3 • g)M 3 = M 3 C Cl ( A2 s 2 + £ 3 s 23 ) 9l + Sl (i 2 s 2 + £ 3 s 23 )g 2 +
U z c z + if Z3 h 3 l
The net potential energy of the mass concentrations is
P' = P' + P'
■2 3
and the gravity compensation torques for the three links, on account of the
mass concentrations, are
T lg = " kp S 1 ( " M 2 A 2 S 2 " M 3 (£ 2 S 2 + £ 3 S 23 ))g 1 +
C 1< M 2*2 S 2 + M 3 (£ 2 S 2 + £ 3 S Z3 }, 92
/**N
J**\
27
/"~\
^*\
T 2g = " aej = C 1 (M 2 £ 2 C 2 + M 3 U 2 C 2 + VW^l +
s 1 (M 2 A 2 c 2 + M 3 (* 2 c 2 + V23 )} 92
(M 2 s, 2 s 2 + M 3 U 2 s 2 + ^ 3 s 23 ))g 3
3P
T 3g = ' 3i7 = M 3 (£ 3 C l C 23 g l + Vl C 23 g 2 " £ 3 S 23 g 3 )
23
JHR.EE de gree of freedom device with offsets.
In some manipulators and legs, tradeoffs in the mechanical design dictate
a geometry with offsets between links as seen in figure 9, for example. Smaller
packaging, better strength and larger range of motion can be achieved this
way in return for a small increase in complexity of control. The MITScheinman
electric manipulator is an example of a device with offsets. It will be found
that only a few extra terms appear in the expressions for the torques required
of the actuators. Obviously the torques required to support the motions of
link 1, the upright column, do not change, so we start with link 2.
/"*\
29
TH E SECOND LINK IN A DEVICE WITH OFFSETS.
The position r of a particle on the second link can be found by considering
figures 10 and 11.
r = [ SCl s 2  6 2 s 1 ]i + [ss^ + 5 2 c 1 ]j + [sc 2 ]k
Differentiating,
y= Css^^g + SCjC^  6 2 c,0,]i +
[sc 1 e 1 s 2 + ss^eg  fi 2 s i^i^ + [ss 2 e 2 ]k
So,
V2 = S 2 se2 + (sc 2 e 2  fi^) 2 + S 2 S 202
v 2 = ( 6 2 + S 2 s 2)e2  256202^62 + s 2 e 2
The kinetic energy can be found by integration
* _ [ l 2 1 m 2 2 .
2 in 2 H
K 2  I m2 [( 6 2 + _i S 2 } '2 _ ^^^ + h 2j
J*""""!.
f\
f~\
30
ACTUATOR TORQUES REQUIRED TO SUPPORT MOTION OF LINK 2.
8f<2 3K 2 m 2 2^2
— = and ~ . T [__ s 2 c 2 e2 + ^^h^
3K 2 m 2 j>2
g^=2~ [2(6 + ys2) ' Q]  ii 2 6 2 C 2 e 2 ]
3K 2 m 2 2£2
ie7 = r* c*2 6 2 c 2 s i + — 9 2 ]
d 3K 2 m 2 ^2 4£ ?
dt ^ = 2~ [2(6 2 + 3~ S 2 )9 1 " *2 6 2 C 2 9 2 + "T  s 2 c 2 e l e 2 + £ 2 6 2 S 2* 9 1 ]
d , 8K 2 m 2 2£ 2
dt < 357 ) = 2~ l>V2 c 2 5 l + "T~ 9 2 + V2 s 2 e l 9 2 ]
Finally,
T  1 / 3K 2^ 3K 2
'12 dt l 36^ ; " 39 ]
m 2 A  4£ ?
T ]2 = T [2(«2 + j s2) ^  A 2 5 2 c 2 e 2 + f SgCg'e^g + a^s^]
do K.o S Ko
"22 dt 1 ^' " 39 2
m 2 2^2 2^2
T22 = r [V2 c 2' e 'i + r ' 9 *2  r S 2 c 2 e l ]
■31 ■
IHEJjjjRDJJN K IN A DEVICE WITH OFFSETS.
The position r of a particle in the third link can be found from figures
12 and 13.
r = L(^ 2 + s s 23 ) Cl  6 3Sl ]i +
[U 2 S 2 + s S 23 )S 1 + 6 3 C 1 ] J +
Ll 2 c 2 + s c 23^
Differentiating,
v = E(£ 2 s 2 + s s 23 )s 1 e 1  6 3 c 1 e 1 + (£ 2 c 2 e 2 + sc 23 (e 2 + e^c^i +
CU 2 S 2 + s s 23> c i°i ~ 5 3 S 1 § 1 + <*2 C 2 5 2 + sc 23^2 + h ))s lU +
[£ 2 s 2 e 2  s s 23 (e 2 + e 3 )]k
So,
V 2
V • V = (£ 2 S 2 + S S 23 )2q2 + [.^^ + ^^ + ^^ + . 3)]2 +
[£ 2 s 2 e 2  s s 23 (e 2 + e 3 )]2
32
That is,
v 2 = U 2 s 2 + s s 23 ) 2 ef + <se + £ 2 e 2 + s 2^^ + g^;
26 3 «. 2 c 2 e,e 2 +
* . *
2s£ 2 c 3 e 2 (e 2 + e 3 ). 26 3 sc 23 e.(e 2 + 9,)
^j&
U 2 S 2 + 2s4 2 s 2 s 23 + S2S 23 + 6 3 } ' e ? " 2 « 3 ( *2 C 2 + sc 23 ) " e l 5 2 +
(q + 2s£ 2 c 3 + s 2 ) 9 + (2s£ 2 c 3 + 2s2)e 2 e 3 + (s 2 )e 2  ZsfigC^e,
/:
s 1 i4 ,!ds
3
K 3 = ^CUfs 2 + £ 2 * 3 s 2 s 23 + / s 2 3 + fi 2) e}  s 3 (2 V2 + 43023)8,62 +
d , n\ 1%
( *1 + A 2*3 C 3 + 3 )e 2 + ( V 3 C 3 + T^Vs + <r )e 3 '" ^VWVl 1
33
/~\
PARTIAL DERIVATIVES NEEDED.
3K
* =
36,
3K, m_ 2£ 2
ieT = T C(2 ^1 S 2 C 2 + £ 2 £ 3 (c 2 S 23 + S 2 C 23 ) + ~T S 23 C 23 )§ 1 +
6 3 (2£ 2 S 2 + £ 3 S 23 )6 l92 + 63*3823638,]
aK 3 m 3 2£ 
863" = r CU 2*3 S 2 C 23 + T S 23 C 23 )& 1 + S 3 ( *3 S 23 ,5 1°2 "
(* 2 * 3 s 3 )e2  (* 2 * 3 s 3 )e 2 93 + 5 3 (* 3 s 23 )e 3 e 1 ]
8K 3 m 3 l \
W\ = T [2 < £ 2 S 2 + £ 2 £ 3 S 2 S 23 + T s 23 + 6 3 >' 9 l "
6 3 (2£ 2 c 2 + ^ 3 c 23 )e 2  <5 3 (* 3 c 23 )e 3 ]
8K 3 m 3 l\ 2l 2
3g = r [6 3 (2* 2 c 2 + £ 3 c 23 ) ei + 2(*2 + , 2 , 3 c 3 + _3)e 2 + {z ^ + _3 )53]
3K 3 m 3 2£ l 2 ^
397 = r C <V 3 C 3 + f^2 + "T% " 6 3 U 3 C 23^1 ]
34
fe Caef) = r [2( *2 S 2 + V 3 S 2 S 23 + / S 23 + «§> * 6 'l "
6 3 (2^c 2 + * 3 c 23 )9 2  «3(* 3 c 2 3)¥ 3 +
2{2s,2s 2 c 2 e 2 + £ 2 fc 3^ c 2^2 S 23 + S 2 C 23^2 + ' B 3^ +
2&
s„c„(L + 9_)} e, + sJZz 9 s 9 h 7 + £s„(e + e,))e +
3 °23"23 vu 2 U 3 ;J u l ' " 3 v"2 a 2 2 *3 :> 23 vo 2 °3 ,yo 2
, * * , . i
5 3 (£ 3 S 23 (6 2 +9 3 ))6 3 ]
^
d , 3K 3, _ m 3
dtW = r f 6 3 (2£ 2 C 2 + ^^ * 9 *1 + 2(£ 2 + W3 + 3^2 +
U 2 a 3 c 3 + — )'e 3 + 6 3 (2a 2 s 2 9 2 + £ 3 s 23 (e 2 + e 3 ) )e.
2(£ 2 £ 3 s 3 e 3 )e 2  U 2 £ 3 s 3 e)6,]
d / aK 3, _ m 3
1%\ 111
dt { JeJ = 2~ [U 2 £ 3 C 3 + T^2 + ~t\ " 6 3 U 3 C 23 re 'l
(& 2 £ 3 s 3 e 3 )e 2 + 6 3 U 3 s 23 (e 2 + e 3 ))e,]
*<**\
f~\
35
ACTUATOR TORQUES REQUIRED TO SUPPORT MOTION OF LINK 3.
dSK 3Ko
, = r o\ ±
13" dt^aej ; " se.
m 3 l \
T ]3 = r [2(£2 S  + . 2 £ 3 s 2 s 23 + / s 3 + «)e 
s 3 (2 &2 c 2 + * 3 c 23 )0 2  6 3 (^ 3 c 23 )e 3 +
2(2£s 2 c 2 + £ 2 ^ 3 (c 2 s 23 + s 2 c 23 ) + ± s 23 c 23 ) 9^2 +
6 3 (2£ 2 s 2 + . 3 s 23 )e2 + 2 W23 e 2 e 3 + 63^23^3 +
2£ 3 C 23 (£ 2 S 2 + y S 23 ) 636^
j 3 K« 9Krt
123 = dt ( ¥5^ " 39^"
m 3 *i
T 23 = _ [6 3 (2^c 2 + AgCgg)^ + 2(^2 + A 2 & 3 c 3 + )e 2 +
2^2 2 Ji2
(£ 2 £ 3 C 3 + — )9 3  (2.2^ + ^^ (C2S23 + s^^ + _3 3^)92
2(£ 2 ^, 3 s 3 )e 2 9 3  (^ 2 a 3 s 3^ 3 ]
Note the cancellation of terms in 9,9„ and 9*8,,
■36
33 dt l 3§ 3 ; ae 3
m 3 25,S 2£ 2
T 33 = T [  6 3 U 3 C 23 ),9 'l + ( Ws + "T^ + ^^
2ju
A 3 C 23 (£ 2 S 2 + 3 S 23 )5 1 + ^lH*J*2>
Note cancellation of terms in e^, Le, and Le,
^*\
37
TORQUES REQUIRED TO SUPPORT GRAVITATIONAL FORCES.
The center of gravity of link 2 is
T2 = ( 2" c 1 s 2 " hh ] l + ( 2 S l s 2 + 6 2 C 1 } J + <r c 2 } *
Its potential energy is,
P 2 = "^2 • ? )m 2 =  m 2 [( 2 ic l s 2 " 6 2 S l )g l + <F" S 1 S 2 +
5 2 C l )g 2 + ( F" c 2 )g 3 ]
Similarly, the position of the center of gravity of link 3 is
r 3 = [(i 2 s 2 + ^ s 23 )c l " Vl ] ! + ^ £ 2 S 2 + / s 23 )s l +
« 3Cl ]J + U 2 c 2 + 2 lc 23 ]k
Its potential energy is
p 3 =  ( r 3 • g> m 3
"A, ^ . .. u . r,. .. *3
P 3 =  m 3 [[(A z s 2 + r s 23 ) Cl  6^ + [( V2 + ^ s 23 ) Sl +
6 3 C l ]g 2 + [ *2 C 2 + ;T c 23 ]g 3
The total potential energy is the sum of P„ and P_.
f~~\
Torques required then are:
IP
T lg = " 9^ = ^["^r S 1 S 2 + 5 2 C 1 )  m 3 (i 2 S 2 + F S 23 )S 1 "
m 3 6 3 C l ] + h^r C 1 S 2 " 5 2 S 1 } + m 3 (£ 2 S 2 + T S 23 J C l "
m 3 6 3 s 1 ]
f 2g = "?r = g 1 ^ 2 /c 1 c 2 + m 3 (£ 2 c 2 + /c 23 )c 1 ] +
/**\
g 2 [m 2 j s^g + m 3 (£ 2 c 2 + tj c^jsj] +
9oCm ? o s„  m (j> s 9 + ^ s„)]
, 3 l u, 2 2 o 2 .„ 3 v* 2 » 2 2 o 23 j
3P
T 3g = " SeT = 9 1 [m 3 2~ C 23 C 1 ] + ^3 T C 23 S 1 ] + g 3 C " m 3 ^ S 23 ]
/~\
39
MASS CONCENTRATION AT THE END OF LINK 3  LOAD CARRIED.
V 2 = (As + 2£ 2 £ 3 S 2 S 23 + £2 S 2 + 6 2)q2
26 3 (£ 2 c 2 + s^c^Je^ + (jt 2 , + 2£ 2 & 3 c 3 + £)9 +
(2£ 2 * 3 c 3 + 2£)e 2 e 3 + £ 6 2  2£3« 3 c 2 3e 3 e 1
K 3 4 M 3 v2 3if=°
— = M 3 [U 2 s 2 + V23 )(£ 2 C 2 + V23 )5 1 + S 3 U 2 S 2 + l 3*23 )h l h Z +
V3 S 23 S 3 S 1 ]
9K 3
—  M 3 [(£ 2 s 2 + £ 3 s 23 )£ 3 c 23 ef + S 3 i 3 s Z3 h{e 2  ^3^2 + ®3 )5 2 +
X 3 6 3 S 23 e 3 8 1 ]
3K 3
9&7 = M 3 [( *2 S 2 + 2 V3 S 2 S 23 + *3 S 23 + 6 3^1 " 6 3 (6 2 C 2 + *3 C 23 } °2
6 3 £ 3 c 23 e 3 ]
3KI
JT 2 = M 3 t 6 3 U 2 C 2 + £ 3 C 23 )§ 1 + (£ 2 + 2 V3 C 3 + *3 )& 2 +
( Vs c 3 + *2)6 3 ]
40
3K 3
3*J" M 3 [<J 3 6 3*3 C 23 S 1 + <V3 C 3 + *3 )5 2 + ^
d , 8K 3
dt ( 367 } = M 3 [U 2 S 2 + 2£ 2 £ 3 S 2 S 23 + *3 S 23 + 6 3>' e *l
/*\
6 3 (£ 2 C 2 + 4 3 C 23 )B 2  fi 3 A 3 C 2 3e +
2(^ 2 s 2 + £ 3 s 23 )U 2 c 2 e 2 + £ 3 c 23 (e 9 + e 3 ))e, +
6 3 U 2 S 2 9 2 + 4 3 s 23 (& 2 + °3 ))5 2 +
r * »
V3 S 23 (9 2 + e 3 )6 3 ]
m 3 [(£2s 2 + 2 W2 s 23 + is 3 + qy^
s 3 U 2 s 2 + £ 3 c 23 )e 2  6 3 ^ 3 c 23 e 3 +
2(& 2 s 2 + «, 3 s 23 )()i 2 c 2 + ^ 3 c 23 )e 1 e 2
(a 2 s 2 + ^ 3 s 23 )s 3 e2 + 26 3 £ 2 s 23 e 2 e 3 +
6 3 £ 3 S 23 82 + 2(£ 2 S 2 + ^S^J^C^ege,
,^*"**v
41
A ^
— (— h
M 3 [6 3 (a 2 C 2 + ^23)6^ + (£ + 2£ 2 £ 3 C 3 + £2)e 2 +
(£ 2 £ 3 c 3 + £2)e 3 + 6 3 (£ 2 s 2 e 2 + i 3 s 23 (e 2 + 63) )8, ■
2£ 2 £ 3 s 3 e 2 e 3  ^ 2 £ 3 s 3 e2]
M 3 [c 3 (£ 2 c 2 + £3023)0, + (£ + 2£ 2 £ 3 c 3 + »)e 2 +
(it 2 £ 3 C 3 + £2)e 3 + 8 3 (£ 2 S 2 + £ 3 S 23 ) 9,92 
2£ 2 £ 3 s 3 e 2 *9 3  A^e** « 3 V23 i 3 e *l ]
/~%
drag
^ = M 3 [ " 6 3 £ 3 C 23 e 'l + ( V3 C 3 + *3 )V 2 + *3°3 +
« 3 V23 6 1 & 2  * 2 A 3 s 3 e 2 e3 + 6 3 £ 3 S 23®3 S 1
M 3 [£2 S  + 2£ 2 £ 3 S 2 S 23 + £2 S 2 3 + ,2)^ _
S 3 U 2 C 2 + £ 3 C 23 )9 2  6 3 £ 3 C2 3 9 3 + 2(£ 2 S 2 + £ 3 S 23 )
(£ 2 C 2 + £ 3 C 23 ) 9l 9 2 + (£ 2 S 2 + £ 3 S 23 )6 3 9 +
26 3 £ 2 S 23 e 2 9 3 + S 3 £ 3 S 23 9 + 2£ 3 C 23 (£ 2 S 2 + £3523)036,
<#*"%.
42
T 2 = M 3^" 5 3^2 C 2 + £ 3 c 23^' e 'l + ^ £ 2 + 2 V3 C 3 + l \^2 +
£ 3 (£ 2 C 3 + £ 3 )9 3 " (£ 2 S 2 + £ 3 S 23 )(£ 2 C 2 + £ 3 C 23 )e !
2£ 2 £ 3 S 3 e 2 e 3 " £ 2 £ 3 S 3 9 3
T 3 = M 3 [  6 3 £ 3 C 23* 9 'l + £ 3 (£ 2 C 3 + £ 3 )9 2 + £ 3 9 3 " £ 3 C 23
( £ 2 S 2 + £ 3 s 23^f + £ 2 £ 3 S 3 8 2^
r\
^""S,
43
GRAVITY COMPENSATION FOR LOAD CARRIED.
The position of the load is,
r 3 = [U 2 s 2 + £ 3 s 23 ) Cl  6 3Sl ]i + [(£ 2 s 2 + £ 2 s 23 ) Sl +
6 3 C ]J' + U 2 C 2 + ^ 3 c 23 ]k
The potential energy is,
P 3 = ~ {r ~3 * 9 )M 3 = M 3 Cg 1 ({* 2 s 2 + A 3 s 23 ) Cl  « 3 s l} +
g 2 (A 2 s 2 + £ 3 s 23 ) Sl + 6 3Cl ) + g 3 (£ 2 c 2 + ^c 23 )]
Tg = M 3 {g 1 [(£ 2 s 2 + ^ 3 s 23 )s 1 + « c^ +
9 2 [( & 2 S 2 + £ 3 S 23^ C 1 " 6 3 s l^ }
T 2g = M 3 { M £ 2 C 2 + *3 c 23 )c l + 9 2 (*2 C 2 + A 3 C 23 )s l "
g 3 U 2 s 2 + £ 3 S 23 5
T 3g = M 3 {g l £ 3 C 23 C l + V3 C 23 S 1 " V 3 S 23 }
/~\
/""%
44
SUMMARY AND CONCLUSIONS.
We have shown that detailed analysis of the dynamics of mechanical mani
pulators is feasible and leads to complicated, but manageable equations. Such
equations may be used in the simulation of such devices or directly in control
systems based on openloop computation of required joint torques. Simulations
may be used in the design or analysis of traditional control systems, which
can maintain stable control only for low speeds.
New kinds of control systems can be envisaged, where negative feedback is
only used to account for small errors which come about because of differences
between the actual device and the mathematical model used in deriving these
equations.
We have derived the necessary equations for devices with rotational de
grees of freedom and no offsets (pages 10, 13, 19). Compensation for gravita
tional forces have also been calculated for arbitrary orientation of the de
vice (page 22) as have the torques required to move a load carried at the tip
of link 3 (page 25). Finally, compensation for gravitational forces on this
extra load were considered (page 26).
The same calculations were then repeated for a device with offsets
(pages 10, 29, 34, 35).
Oi,
45
REFERENCES.
1. B. K. P. Horn and H. Inoue, "Kinematics of the MITAIVICARM Manipulator, 1
MIT AI Lab Working Paper No. 69, May 1974.
2. B. K. P. Horn, "Kinematics, Statics, and Dynamics of TwoD Manipulators,"
MIT AI Lab Working Paper No. 99, June 1975.
3. B. K. P. Horn, "The Fundamental Eel Equations," MIT AI Lab Working Paper
No. 116, December 1975.
/""%
FIGURE 1
"■^fi^pjs^Kjaiigi^^
SIDE VIEW
FIGURE 2
l,s,s
' 2 Si S
TOP VIEW
FIGURE 3
FIGURE 4
SIDE VIEW
FIGURE 5
S S,S;
FIGURE 6
SIDE VIEW
FIGURE 7
s s,s,
^2 1 So
TOP VIEW
FIGURE 8
FIGURE 9
p
SIDE VIEW
FIGURE 10
SS,S 2 *S 2 C,
SS^zSjS,
TOP VIEW
FIGURE 11
/"""N
S C 23
l,c
SIDE VIEW
FIGURE 12
/T*\
(i 2 s 2 + ss 23 )s 1 +5 3 c
M
\ S
3 ^^
fc.
(i 2 s 2+ ss 23 )c, <5 3 s,
TOP VIEW
FIGURE 13
.^nt^ns: